//login-user-info
interface UserInfo {
  username: string;
  userId: number;
  token: string;
  email: string;
  role: "DOCTOR" | "HEALTHCARE" | "INSTITUTION" | "RESEARCHER" | "ADMIN";
}

//user-doctor--from-patient-appoint
interface DoctorInfo {
  createTime: string;
  email: string;
  id: number;
  role: "DOCTOR";
  status: "PENDING" | "CANCELLED" | null;
  username: string;
  appointmentStatus?: "PENDING" | "CANCELLED" | null;
  password?: string;
  avatar?: string | null;
}

//admin-user-info
interface AdminUserInfo {
  createTime: string;
  email: string;
  id: number;
  role: "DOCTOR" | "HEALTHCARE" | "INSTITUTION" | "RESEARCHER" | "ADMIN";
  status: number;
  username: string;
  password?: string;
}

export { UserInfo, DoctorInfo, AdminUserInfo };
